package junittest;

import static org.junit.jupiter.api.Assertions.*;

import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;


public class NextDateTest {

    @Test
    void testDate(){
        String type = NextDate.cal(2005, 4, 31);
        assertEquals("输入错误",type);
    }
    @ParameterizedTest
    @CsvSource({
        "2005,4,31,输入错误",
        "2005,1,28,2005年1月29日",
        "2005,2,28,2005年3月1日",
        "2004,2,28,2004年2月29日",
        "2005,2,31,输入错误",
        "2004,2,15,2004年2月16日",
        "2018,10,31,2018年11月1日",
        "2018,12,31,2019年1月1日",
        "2020,2,29,2020年3月1日"
    })

    void paramDate(int y, int m,int d,String expected) {
        String type = NextDate.cal(y, m, d);

        assertEquals(expected, type);
    }
//                            { 2005, 4, 31, "输入错误" },
//                            { 2005, 2, 29, "输入错误" },
//                            { 2005, 2, 30, "输入错误" },
//                            { 2005, 2, 31, "输入错误" },
//                            { 2005, 4, 15, "2005年4月16日" },
//                            { 2005, 4, 30, "2005年5月1日" },
//                            { 2005, 1, 28, "2005年1月29日" },
//                            { 2005, 1, 31, "2005年2月1日" },
//                            { 2005, 2, 15, "2005年2月16日" },
//                            { 2005, 2, 28, "2005年3月1日" },
//                            { 2004, 2, 28, "2004年2月29日" },
//                            { 2004, 2, 29, "2004年3月1日" },
//                            { 2005, 12, 15, "2005年12月16日" },
//                            { 2005, 12, 31, "2006年1月1日" },

}
